Welcome.
We're now going to set up our first place in our horror game, the lobby.
So we're just going to need to create a new game.
So for example I'll just do the base plate.
And this place is going to be our starting place for the game.
So any time a player joins our game, they're going to end up here, which is going to be our lobby.
And because we're going to have multiple different places, we want this to be the starting place for
all the players.
So you can go ahead and save this game to Roblox.
And you can name it whatever you'd like.
I'm just going to call it horror game.
Change around the settings a little bit.
I'm just going to disable this for now.
And then we can save our game to Roblox.
And now, to get everything set up, I've attached a model to this lecture that's going to contain all
the assets you will need for the lobby.
So go ahead and grab that and you can go ahead and insert that model into our game.
So it can open up our toolbox.
We can go to the My model section.
And you will find all of the assets we'll need for the game.
So you can go ahead and take this and insert it into the game.
There we go.
So this is going to be all the assets for our game.
We can go ahead and delete the original base plate in our game as well as the original spawn location.
Now this model has a document which explains where everything needs to go.
But we're also going to do that right here.
So as you can see, we have a bunch of different models that we need to ungroup in different services.
So we can go ahead and take this and ungroup it in the lighting service.
So I'm going to delete everything that's in here already.
And then I'm going to take this put it inside of the lighting service.
And then I'm going to press control and U to ungroup it.
We can do the same thing for this and replicated first.
So put it in there and then do control and you.
The next thing we need to do is replicated storage.
So again control U.
And we're just going to keep moving on Ungrouping all of these things that we need.
And fortunately, all of these sound assets were going to be using came from the toolbox.
So you won't have to worry about uploading any audio yourself.
But we're just going to keep going on and ungrouping all of these different assets.
This is going to go into starter player scripts.
So open up starter player and put it in starter player scripts.
Ungroup that and then this is going to be everything that exists within the workspace.
So we can just put that in the workspace here and ungroup it.
And for now, I'm going to go into the view and disable UI visibility so we don't have the guy on our
screen.
Now, the next thing we can do here is to go ahead and upload all of the animations we'll need for the
lobby, and we don't need that many animations.
All we'll need is the animation for our Squidward here inside of the restaurant.
And then for our other Squidward that's out here, which is, yes, I believe this one.
We just need the two idle animations to play for these, uh, different meshes we have here.
So for this regular Squidward, as you can see, I have saved some animations in here, so you can go
ahead and go to the avatar tab and we can open up our animation editor.
I'm going to place it right here.
And then we can go ahead and select our rig.
And here we're going to have a bunch of different idalene animation.
So this one's going to be our regular default idalene animation.
And as you can see it loops.
And the current animation is set at idle.
And there's an event at the end here.
Which let me.
Yeah it's called ended.
So when this animation ends we're going to randomly generate a number.
And if that number is equal to some range then we're just going to randomly play another one of these
Idalene animations.
So I have some other random idle animations like Squidward looking around.
We have one where I believe this one.
Yeah.
He looks up and looks down, scratches his head, and then this one we have where he just kind of scratches
his nose.
So you'll want to make sure to take all of these animation and publish them to your Roblox game.
And you're going to want to copy each of these animation IDs, and you're going to go into your regular
Squidward.
And for the base idle animation, which is Idle animation one, you're going to paste that ID inside
of this animation here.
And then for the other three animations, you're just going to paste them each inside of these different
animation instances.
And then we're going to do the same thing as well for our handsome Squidward here.
So you're going to again use the animation editor, select him, and the only animation we're going
to need to load here for now is his idle animation, which is this one.
So he's just standing and he's breathing.
So you'll want to publish this one as well.
Copy the ID and you'll want to place that inside of the idle and M one instance that is underneath our
handsome Squidward.
So once you have all of your animations uploaded for our regular Squidward and our handsome Squidward,
and you've pasted each of their IDs into their respective animation instances, the next thing we could
do is to change some properties in the lighting service.
So if we open up this read Me module script right here, I've listed the different settings you'll want
to change within the lighting service.
So let's go to the lighting service.
First we want to change the ambient to be completely pitch black.
We want to have the brightness to be at zero.
We don't need to change the color shift bottom or top the environment.
Diffuse scale can be something around like 0.5.
And then for the specular scale we can do something like 0.4.
Make sure global shadows are enabled.
The outdoor ambient is also going to be pitch black.
Shadow softness can stay at 0.2 and we want to change the technology to future.
And then we can change the clock time to be in the middle of the night.
So if we go back to our game, as you can see, it is completely dark outside and we've got a nice,
uh, dimly lit kind of night setting for our game.
Now, before we move on to scripting, in the next lecture, I'm going to quickly explain kind of how
we're setting up these scripts in our game.
So we're going to have one server script and one local script.
And the server script is going to require a bunch of different module scripts.
That's going to set up everything in our game.
So if we go to server Script Service, there's a folder here called server.
And we're going to have the server script here load all of the different module scripts that are going
to exist here.
So we're going to have different services.
One's going to be for handling the creation of servers.
And then one's going to be for handling things like animations.
So this server script is going to go through and set up each of these different module scripts.
And these module scripts in case they need to require other shared code that can be stored within the
module section for the server.
And then the same general idea can be applied to the client.
We're going to have one local script here, and it's going to set up all of the different handlers we'll
have for our game.
And those different handlers can go ahead and require any modules that they need to get some code from.
Currently, all of these are empty, and we're going to be setting these up in the next following lectures.
Lastly, we're also going to have this local script here inside of replicated first.
And this local script is going to handle our loading screen.
And it's going to make sure that our game has been loaded.
And it's going to make sure that the server has also finished setting up all of the different services,
or requiring all the different module scripts it needs before we actually start executing and setting
up things on the client.
Otherwise, we've gotten everything set up.
All we need to do now is to get started scripting.
So I'll go ahead and see you in the next lecture.